[アップデート] AWS Cloud WANとDirect Connect Gatewayを直接接続できるようになりました
Transit Gatewayを用意するの面倒だな
こんにちは、のんピ(@non____97)です。
皆さんはAWS Cloud WANを利用するにあたって、オンプレミスと接続する際にTransit Gatewayを用意するのが面倒だなと思ったことはありますか? 私はあります。
複数リージョンに跨ったネットワークを構築する場合はCloud WANが便利です。
ただし、以下AWS BlackBeltの資料にも記載あるとおり、長らくCloud WANはDirect Connectをサポートしていませんでした。
抜粋 : AWS Cloud WAN概要 - AWS Black Belt Online Seminar P.10
そのため、オンプレミスネットワークとVPC間とをDirect ConnectとCloud WANを介して通信させる場合はTransit Gatewayが必要でした。
抜粋 : AWS Cloud WAN概要 - AWS Black Belt Online Seminar P.20
「Cloud WANを使用する = Transit Gatewayは使わなくても良くなる」ということではありません。
今回アップデートによりCloud WANのコアネットワークとDirect Connect Gatewayを直接接続できるようになりました。
これにより、オンプレミスネットワークとVPC間とをDirect ConnectとCloud WANを介して通信させる場合に、Transit Gatewayを用意する必要がなくなりました。
AWS Blogsにも投稿されていますね。
何ができるようになったのか確認してみました。
いきなりまとめ
- Direct Connect Gatewayを直接Cloud WANのコアネットワークに接続できるようになった
- 主な注意点は以下
- 東京リージョン、大阪リージョン未対応
- 別リージョンのコアネットワークエッジを経由して通信することは可能
- コアネットワークエッジごとに料金が発生する
- Direct Connect GatewayにアタッチするVIFはおそらくTransit VIFである必要がある
- Direct Connect GatewayアタッチメントへのStatic Routeや経路集約は設定できない
- 東京リージョン、大阪リージョン未対応
- 機能的にも料金的にもTransit Gatewayの完全上位互換ではない
ドキュメントを眺めてみる
まずは、今回のアップデートに関連するドキュメントを眺めてみます。
関連する情報は以下ドキュメントにまとまっています。
簡単に説明すると以下のとおりです。
前提条件
- Direct Connectを管理しているAWSアカウントとDirect Connect Gatewayが必要
- Cloud WANのコアネットワークに接続している場合、そのDirect Connect GatewayはVGWやTransit Gatewayなど他のタイプのゲートウェイに接続することはできない
制約事項
- コアネットワークポリシーでは、Direct Connect Gatewayアタッチメントをネクストホップとする静的ルートを設定できない
- ルートはオンプレミスネットワークからコアネットワークに動的にアドバタイズされる必要がある
- Cloud WANネットワークではDirect Connect BGPコミュニティはサポートされていない
- Cloud WANのDirect Connect Gatewayアタッチメントへ許可されたプレフィックスを設定することはできない
- Direct Connect GatewayのASNは、コアネットワークに設定されたASN範囲外である必要がある
- Direct Connect Gatewayのアタッチメントがトランスポートタイプである場合、Private IP VPN および Connect アタッチメントはサポートされない
ルートのPropagation
- 受信方向と送信方向の両方でBGPベースの動的ルーティングをサポートする
- インバウンドルートの場合
- Cloud WANはDirect Connect GatewayとTransit VIFを介してオンプレミス拠点からアドバタイズされたBGPルートを学習する
- ルートはアタッチメントに関連付けられたコアネットワークエッジのセグメントルートテーブルで学習される
- セグメントルートテーブルで学習されたルートは、そのセグメントのすべてのAWSリージョンにわたってルーティングできる
- Cloud WANは複数のアタッチメントで学習された同一プレフィックスに対してルート評価順序に従う
- アウトバウンドルートの場合
- Cloud WANはセグメントルートテーブルからDirect Connect GatewayにルートをPropagationし、そこからBGPを介してTransit VIF経由でオンプレミス拠点にこれらのルートをアドバタイズする
- Direct Connect Gatewayアタッチメントに関連付けられた各コアネットワークエッジは、そのローカルルートのみをDirect Connect Gatewayに向けてアドバタイズする
- AS_PATHは保持される
使用可能なリージョン
AWS Region | Description |
---|---|
ap-southeast-1 | Asia Pacific (Singapore) |
ap-southeast-2 | Asia Pacific (Sydney) |
ca-west-1 | Canada West (Calgary) |
eu-central-1 | Europe (Frankfurt) |
eu-north-1 | Europe (Stockholm) |
eu-west-1 | Europe (Ireland) |
il-central-1 | Israel (Tel Aviv) |
us-east-1 | US East (N. Virginia) |
us-east-2 | US East (Ohio) |
us-west-1 | US West (N. California) |
us-west-2 | US West (Oregon) |
Direct Connect Gatewayアタッチメントを介した通信は全てBGPによる動的ルーティングとなります。
以下のようにBGPでルートを受け取り、コアネットワークエッジ間でPropagationされます。
また、Direct Connect Gatewayで許可されたプレフィックスが使用できないので、AWSからオンプレミスへアドバタイズするルートを集約することはできないようです。
アドバタイズできるルートの上限に抵触したりしないかな? と心配になったのですが、5,000ルートまでアドバタイズできるとのことなので、余程のことがない限り大丈夫そうです。
Quota | Default | Adjustable |
---|---|---|
Routes per core network, across all segments | 10,000 | No |
Routes advertised over VPN to core network | 1,000 | No |
Routes advertised from core network over VPN | 5,000 | No |
Routes advertised over Connect peer to core network | 1,000 | No |
Routes advertised from core network over Connect peer | 5,000 | No |
Maximum number of Tunnel-less Connect routes | 5,000 outbound1,000 inbound | No |
Maximum number of outbound routes per Direct Connect gateway attachmentQuotas applicable to Direct Connect resources (virtual interfaces and Direct Connect gateways) behave in the same way when used with a Cloud WAN core network. For more information, see see AWS Direct Connect quotas in the AWS Direct Connect User Guide. | 5000 | Yes |
抜粋 : AWS Cloud WAN Quotas - AWS Network Manager
東京リージョンや大阪リージョンのコアネットワークエッジには接続できないため、注意しましょう。
とはいえ、「セグメントルートテーブルで学習されたルートは、そのセグメントのすべてのAWSリージョンにわたってルーティングできる」とあるため、東京リージョンのVPCからバージニア北部リージョンのDirect Connect Gatewayアタッチメントを介してオンプレミスと通信するということはできます。
先述のAWS公式ブログにも「Direct Connect Gatewayが全てのリージョンに関連付けられていない場合、コアネットワークエッジはトラフィックを転送するリモートコアネットワークエッジをランダムに選択する」と記載されていました。
AWS to on-premises traffic flows: VPCs forward traffic to the CNE in their local Region. CNEs send traffic to the local Direct Connect gateway attachment. If the Direct Connect gateway is not associated with all Regions, the CNE will randomly choose a remote CNE to forward the traffic. Thus, we recommend you associate the Direct Connect gateway with all Cloud WAN Regions where the attached segment is present, to ensure optimal routing. The Direct Connect gateway forwards the traffic to the primary transit VIF-1.
また、ドキュメントおよびAWS公式ブログではTransit VIFについて言及があるものの、Private VIFについての言及がありませんでした。そのため、Cloud WANのDirect Connect Gatewayアタッチメントを作成するDirect Connect GatewayにはTransit VIFを接続する必要があると想像しています。
やってみた
Cloud WANの作成
実際に試してみましょう。
Direct ConnectのConnectionやVIFは持っていないので、Direct Connect Gatewayとコアネットワークを接続するまでです。
Cloud WANのグローバルネットワークの作成から行います。
適当に名前をつけて次へ
をクリックします。
コアネットワークも併せて作成します。
ASNの範囲は65000
から65010
でしました。こちらのASNから各コアネットワークエッジおよび、Site-to-Site VPN、Transit GatewayコネクトのAWS側の番号として割り当てられます。
また、エッジロケーションはバージニア北部リージョンと東京リージョンの2つを選択しました。セグメントもdev
というものを1つ作成しています。
レビューです。
作成すると以下のような画面になります。
作成したCloud WANのグローバルネットワークとコアネットワークの確認
作成したCloud WANのグローバルネットワークとコアネットワークの確認をしていきます。
現時点ではコアネットワークは作成中です。この状態だと特に何も見えてきませんね。
コアネットワークからポリシーのバージョンを確認すると、作成の進捗状況を確認できます。
具体的な進捗状況は以下のとおりです。各リージョンそれぞれにコアネットワークエッジとセグメントを作成しようとしていることがわかります。
15分ほどで作成が完了しました。
作成されたことはグローバルネットワークのインベントリからも確認できます。
トポロジのグラフを確認すると、各リージョンのコアネットワークエッジが接続されていることが分かりますね。ちなみにバージニア北部リージョンのASNは65000でした。
コアネットワークエッジごとのメトリクスも確認できます。
東京リージョンのコアネットワークエッジは65001が使用されていました。Cloud WANの内部的にもBGPで経路交換していそうなことが分かります。
トポロジツリーは以下のようになっていました。
コアネットワークではコアネットワーク単位のエッジロケーションの情報やスループット、アタッチメントの情報を確認できます。
ちなみに2024/11/26時点ではアタッチメントタイプにDirect Connect Gatewayはありませんでした。追加されることを期待しておきましょう。
コアネットワークの詳細は以下のとおりです。
論理は以下のとおりです。セグメントは1つしか存在していないので、特に面白いところはありません。
ルートは以下のとおりです。特に何もアタッチメントを接続していないので、何もルートは存在していません。
コアネットワークポリシーの詳細は以下のとおりです。
JSONで表現すると以下のとおりです。
{
"version": "2021.12",
"core-network-configuration": {
"asn-ranges": [
"65000-65010"
],
"edge-locations": [
{
"location": "us-east-1"
},
{
"location": "ap-northeast-1"
}
]
},
"segments": [
{
"name": "dev",
"description": "development"
}
]
}
実際にセグメント上で通信するにはアタッチメントポリシーを設定する必要がありますが、今回は割愛します。
Direct Connect Gatewayとの接続
それではDirect Connect GatewayとCloud WANのコアネットワークエッジを接続させます。
ASNが64512のDirect Connect Gatewayを用意しました。
ゲートウェイの関連付け
から関連付けしようとしてみます。
すると、Cloud WANのコアネットワークは選択肢に表示されませんでした。
どうやら、Cloud WAN側から接続するようですね。
Cloud WANからアタッチメントを作成します。
エッジロケーションはバージニア北部リージョンと、接続できないであろう東京リージョンも選択します。
すると、アタッチメントを作成できませんでした: Reason: Other, Message: One of the provided regions is not available for this attachment.
と弾かれました。やはり東京リージョンには接続できません。
バージニア北部リージョンのみを指定して作成します。
数分ほど待つと関連付けが完了していました。
Direct Connect Gatewayと接続後のグローバルネットワークとコアネットワークの確認
Direct Connect Gatewayと接続後のグローバルネットワークとコアネットワークの確認をしてみます。
トポロジは以下のようにバージニア北部リージョンとDirect Connect Gatewayが接続しているような形になりました。
トポロジツリーも同様です。
Direct ConnectのコンソールからDirect Connect Gatewayの状態を確認
Direct ConnectのコンソールからDirect Connect Gatewayの状態を確認してみます。
Cloud WANのコアネットワークと関連付けされていることが分かりますね。
また、ゲートウェイの関連付けに対する編集ボタンは存在しておらず、許可されたプレフィックスを設定することができないことが分かります。
Direct Connect GatewayアタッチメントをネクストホップとしたStatic routeを作成できるか確認
Direct Connect GatewayアタッチメントをネクストホップとしたStatic routeを作成できるか確認してみます。
送信先CIDRブロックが192.168.0.0/16
の場合、Direct Connect Gatewayアタッチメントにルーティングするルートを作成しようとします。
すると、$.segment-actions[0].destinations[0]: Attachment attachment-02fe02b0652fb43b3 is an invalid attachment type and cannot be used in create route segment actions
と怒られてしまいました。やはり、動的ルーティングさせるしかないですね。
もちろん、他のアタッチメントタイプではルートを作成することが可能です。
コスト試算
料金の紹介
Cloud WANの料金は以下のとおりです。
項目 | 金額 | 備考 |
---|---|---|
コアネットワークエッジ | 0.50 USD/h/コアネットワークエッジエッジ | アタッチメントのリソースがあるリージョンとと同じ数分だけ必要 |
コア ネットワーク エッジ アタッチメント | 0.09 USD/h/アタッチメント | 東京リージョンの場合 |
処理データ | 0.02 USD/h | - |
参考 : Cloud network WAN – AWS Cloud WAN Pricing - Amazon Web Services
Transit Gatewayの料金は以下のとおりです。
項目 | 金額 | 備考 |
---|---|---|
Transit Gateway アタッチメント | 0.07 USD/h/アタッチメント | アタッチメントのリージョンと同じリージョンごとに必要 |
処理データ | 0.02 USD/h | - |
参考 : 料金 - AWS Transit Gateway | AWS
Transit GatewayはTransit Gatewayが存在している分には料金はかかりませんが、Cloud WANはコアネットワークエッジ(CNE)の料金がかかります。
現状、東京リージョンや大阪リージョンのCNEにDirect Connect Gatewayアタッチメントを接続することはできないため、Direct Connect Gatewayアタッチメントを使用して東京リージョンや大阪リージョン上のVPCと通信させたい場合は、少なくとも2つのCNEが必要になります。
また、アタッチメントの単価もCloud WANの方が若干お高めです。
Transit Gatewayの場合はリージョン間ピアリングが必要で、Cloud WANでは不要ではあります。
ただし、こちらもCNEの料金を考えると基本的にはCloud WANの方が直接的なコストは高くなりそうです。
そのため、単純なネットワーク疎通などTransit Gatewayでも実現できることについてはCloud WANの方が安くなるということは無いように考えています。
複数リージョンにまたがるネットワークの場合
実際にコスト試算をしてみましょう。
まずは複数リージョンにまたがるネットワークの場合です。
具体的なシチュエーションは以下のとおりです。
項目 | 値 | 備考 |
---|---|---|
接続ネットワーク数 | 5つ | VPC 4つ、オンプレミスネットワーク1つで、リージョン間とAWS-オンプレミス間で通信する必要あり |
リージョン数 | 2つ | リージョンごとにVPCが2つ |
Transit Gatewayの場合は408.80 USDです。
Transit Gatewayアタッチメントが8つ必要になります。内訳は以下のとおりです。
項目 | 個数 | 備考 |
---|---|---|
VPC | 4つ | 各リージョン2つ × 2リージョン |
Transit Gateway | 2つ | リージョン間ピアリング |
Direct Connect Gateway | 2つ | 各リージョンのTransit Gatewayと接続 |
Cloud WANの場合は1,058.5 USDです。
料金の内訳は以下のとおりです。
- アタッチメントの月額コスト: 328.50 USD (5 アタッチメント x 0.09 USD x 730 h)
- Core Network Edge の月額コスト: 730.00 USD (2 CNE × 0.50 USD × 730 h)
課金リソースの内訳は以下のとおりです。
項目 | 個数 | 備考 |
---|---|---|
VPC アタッチメント | 4つ | - |
Direct Connect Gatewayアタッチメント | 1つ | - |
CNE | 2つ | アタッチメントのリージョンと同じリージョンごとに必要 |
アタッチメントの数は少ないですが、CNEの課金の割合が大きいですね。
単一リージョンのネットワークの場合
単一リージョンのネットワークの場合も考えましょう。
具体的なシチュエーションは以下のとおりです。
項目 | 値 | 備考 |
---|---|---|
接続ネットワーク数 | 5つ | VPC 4つ、オンプレミスネットワーク1つで、リージョン間とAWS-オンプレミス間で通信する必要あり |
リージョン数 | 1つ | - |
Transit Gatewayの場合は255.50 USDです。
Cloud WANの場合は693.5 USDです。
料金の内訳は以下のとおりです。
- アタッチメントの月額コスト: 328.50 USD (5 アタッチメント x 0.09 USD x 730 h)
- Core Network Edge の月額コスト: 365.00 USD (1 CNE × 0.50 USD × 730 h)
課金リソースの内訳は以下のとおりです。
項目 | 個数 | 備考 |
---|---|---|
VPC アタッチメント | 4つ | - |
Direct Connect Gatewayアタッチメント | 1つ | - |
CNE | 1つ | アタッチメントのリージョンと同じリージョンごとに必要 |
やはり、Transit Gatewayのみの構成の方がお安いですね。
機能的にも料金的にもTransit Gatewayの完全上位互換ではない
AWS Cloud WANとDirect Connect Gatewayを直接接続できるようになったアップデートを紹介しました。
このアップデートによって「Transit Gateway要らなくなった!Cloud WANの時代だ!!」と早合点してはいけません。
Transit Gatewayの完全な置き換えにはなるようなものではないと考えています。Transit Gatewayの管理やオンプレミス含めたグローバルネットワークの管理を一元的に行いたい場合に使用するものと思います。
Cloud WANの説明は以下AWS公式ブログやAWS Summit Japan 2022の「グローバルネットワーク展開を迅速化する AWS インフラストラクチャ活用方法(AWS-55)」も参考になります。
この記事が誰かの助けになれば幸いです。
以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!